package com.yugao.fintech.vctgone.admin.converter;

import com.yugao.fintech.vctgone.admin.pojo.dto.RoleDTO;
import com.yugao.fintech.vctgone.admin.pojo.po.SysRole;
import com.yugao.fintech.vctgone.admin.pojo.vo.RoleVO;
import com.yugao.fintech.vctgone.mybatisplus.util.PageUtil;
import org.mapstruct.Mapper;

import java.util.List;

@Mapper(componentModel = "spring")
public interface RoleConverter {
    /**
     * PiPage<SysRole> -> PiPage<RoleVO>
     * @param rolePage PiPage<SysRole>
     * @return PiPage<RoleVO>
     */
    PageUtil<RoleVO> sysRolePageToRoleVoPage(PageUtil<SysRole> rolePage);

    /**
     * List<SysRole> -> List<RoleVO>
     * @param roleList List<SysRole>
     * @return List<RoleVO>
     */
    List<RoleVO> sysRoleListToRoleVoList(List<SysRole> roleList);

    /**
     * RoleDTO -> SysRole
     * @param dto RoleDTO
     * @return SysRole
     */
    SysRole roleDtoToSysRole(RoleDTO dto);
}
